package com.vr.cloudpicture.model.vo;

import cn.hutool.core.bean.BeanUtil;
import com.vr.cloudpicture.model.entity.SpaceUser;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 空间用户关联视图封装类
 *
 * @author hzh
 * @date 2025/05/26
 */
@Data
public class SpaceUserVO implements Serializable {
    private static final long serialVersionUID = 6877675223421412325L;
    /**
     * id
     */
    private Long id;

    /**
     * 空间 id
     */
    private Long spaceId;

    /**
     * 用户 id
     */
    private Long userId;

    /**
     * 空间角色：viewer/editor/admin
     */
    private String spaceRole;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;
    /** 关联的用户信息 */
    private UserVO user;
    /** 关联的空间信息 */
    private SpaceVO space;

    /**
     *  vo转obj
     */
    public static SpaceUser voToObj(SpaceUserVO spaceUserVO) {
        if (spaceUserVO == null) {
            return null;
        }
        return BeanUtil.toBean(spaceUserVO, SpaceUser.class);
    }

    /**
     * obj 转 vo
     */
    public static SpaceUserVO objToVO(SpaceUser spaceUser) {
        if (spaceUser == null) {
            return null;
        }
        return BeanUtil.toBean(spaceUser, SpaceUserVO.class);
    }

}